package com.shenfa.dao;

import java.sql.SQLException;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.shenfa.bean.BillFodder;
import com.shenfa.bean.TreeNode;
import com.shenfa.tools.SteelTools;

/**
 * 账单管理-模板管理 DAO
 * 
 * @author 张瑶
 * @date 2011-08-23
 */
@SuppressWarnings("unchecked")
public class BillFodderDao {

	@Autowired
	private SqlMapClient sqlMapClient;

	/**
	 * 查询所有素材信息
	 * @param billFodder
	 * @param skip
	 * @param max
	 * @return
	 */
	public List<TreeNode> listField(){
		List<TreeNode> list = null;
		try {
			list = sqlMapClient.queryForList("bill_manager.listAllField");
		} catch (SQLException e) {
			
		}
		return list;
	}
	
	/**
	 * 模糊查询模板主表信息
	 * 
	 * @param billFodder
	 *            账单管理-素材管理，T_S_FODDER[素材表]对应
	 * @param skip
	 *            分页使用
	 * @param max
	 *            分页使用
	 * @return 模板主表信息
	 */
	public List<BillFodder> selectBillFodder(BillFodder billFodder, int skip, int max) {

		List<BillFodder> list = null;
		try {
			list = sqlMapClient.queryForList("bill_manager.selectBillFodder", billFodder, skip, max);
		} catch (SQLException e) {
			SteelTools.log(e.getMessage());
		}
		return list;
	}

	/**
	 * 增加模板主表信息
	 * 
	 * @param billFodder
	 *            账单管理-素材管理，T_S_FODDER[素材表]对应
	 * @return 增加是否成功，返回NULL则失败。
	 */
	public Object insertBillFodder(BillFodder billFodder) {

		try {
			return sqlMapClient.insert("bill_manager.insertBillFodder", billFodder);
		} catch (SQLException e) {
			SteelTools.log(e.getMessage());
		}
		return null;
	}

	/**
	 * 更新模板主表信息
	 * 
	 * @param billFodder
	 *            账单管理-素材管理，T_S_FODDER[素材表]对应
	 * @return 0 则表示更新失败。
	 */
	public int updateBillFodder(BillFodder billFodder) {
		int rows = 0;
		try {
			rows = sqlMapClient.update("bill_manager.updateBillFodder", billFodder);
		} catch (SQLException e) {
			SteelTools.log(e.getMessage());
		}
		return rows;
	}

	/**
	 * 刪除模板主表信息
	 * 
	 * @param billFodder
	 *            账单管理-素材管理，T_S_FODDER[素材表]对应
	 * @return 0 则表示刪除失败。
	 */
	public int deleteBillFodder(BillFodder billFodder) {
		int rows = 0;
		try {
			rows = sqlMapClient.delete("bill_manager.deleteBillFodder", billFodder);
		} catch (SQLException e) {
			SteelTools.log(e.getMessage());
		}
		return rows;
	}

}
